12#ifndef ROC_CORE_LOG_H_
13#define ROC_CORE_LOG_H_
21#error "ROC_MODULE not defined"
26 ::roc::core::Logger::instance().print(ROC_STRINGIZE(ROC_MODULE), __VA_ARGS__)
#define ROC_ATTR_PRINTF(n_fmt_arg, n_var_arg)
Function gets printf-like arguments.
void set_colors(ColorsMode mode)
Set colors mode.
void print(const char *module, LogLevel level, const char *format,...) ROC_ATTR_PRINTF(4
Print message to log.
void LogLevel level()
Get current maximum log level.
void set_handler(LogHandler handler)
Set log handler.
static Logger & instance()
Get logger instance.
void set_level(LogLevel)
Set maximum log level.
Base class for non-copyable objects.
static T & instance()
Get singleton instance.
const ColorsMode DefaultColorsMode
Default colors mode.
const LogLevel DefaultLogLevel
Default log level.
void(* LogHandler)(LogLevel level, const char *module, const char *message)
Log handler.
@ ColorsDisabled
Do not use colored logs.
@ ColorsEnabled
Use colored logs.
@ LogNone
Disable all messages.
@ LogTrace
Debug message (extra verbosity).
@ LogInfo
Informational message.